import { createSlice, PayloadAction } from "@reduxjs/toolkit";

/**该仓库的类型 */
export interface otherState {
    /**是否展示路由跳转进度条 */
    progressShow: boolean
}
/**仓库初始值 */
const initialState: otherState = {
    progressShow: false
};

/**其它数据的state */
export const otherSlice = createSlice({
    name: "user",// 模块名
    initialState,// 模块名
    reducers: {//操作，是一个对象, 对象的key是字符串(方法名), value是一个方法(可以理解为vuex中的一个action), 这个方法接受一个state参数, 改变这个参数的值会更新我们所有用到这个state的地方的view
        /**设置当前是否展示路由进度条 */
        setProgressShow(state, actions: PayloadAction<otherState>) {
            state.progressShow = actions.payload.progressShow
        }
    },
});
export const { setProgressShow } = otherSlice.actions
export default otherSlice.reducer //暴露出reducer, 用于在store总模块中集成
